<?php
/**
 * Created by PhpStorm.
 * User: xiaomage
 * Date: 2020/12/9
 * Time: 11:33
 */

namespace common\model;


use think\model\concern\SoftDelete;

class Model extends \think\Model
{
    use SoftDelete;

    /**
     * 主键
     * @var string
     */
    protected $pk = 'id';

    /**
     * @var int
     */
    protected $defaultSoftDelete = 0;

    /**
     * 只读字段
     * @var array
     */
    protected $readonly = [
        'id',
        'create_time',
    ];

    /**
     * @param $value
     * @return bool|false|int|string
     */
    protected function setStartTimeAttr($value)
    {
        if ($value) {
            return UnixTime::instance()->unix($value);
        }

        return '';
    }

    /**
     * @param $value
     * @return bool|false|int|string
     */
    protected function setEndTimeAttr($value)
    {
        if ($value) {
            return UnixTime::instance()->unix($value);
        }

        return '';
    }

    /**
     * @param $value
     * @return string
     */
    protected function setSceneAttr($value)
    {
        if ($value && is_array($value)) {
            $value = implode(',', $value);
        }

        return $value;
    }

    /**
     * @param $value
     * @return array
     */
    protected function getSceneAttr($value)
    {
        if ($value) {
            $value = explode(',', $value);
        }

        return $value;
    }

    /**
     * @param $value
     * @return string
     */
    protected function setExtraAttr($value)
    {
        if ($value && is_array($value)) {
            $value = json_encode($value);
        }

        return $value;
    }

    /**
     * @param $value
     * @return array
     */
    protected function getExtraAttr($value)
    {
        if ($value) {
            $value = json_decode($value, true);
        }

        return $value;
    }
}